﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Data;
using UserDAL;

namespace LikeUs.WebService.Contract
{
    /// <summary>
    /// Declaration of all services will be provided by this WS
    /// </summary>
    [ServiceContract]
    public interface IWSInfo
    {

        [OperationContract]
        DataTable GetAllMyFriends(int userid);

        [OperationContract]
        DataTable getMoviesLearning(int userid,int limit);

        [OperationContract]
        void linkUserMovie(int userid, int movieid, float rating);

        [OperationContract]
        int CreateUser(UserData data);

        [OperationContract]
        int CreateFBUser(string accesstoken, int requestedDistance);

        [OperationContract]
        UserData GetUser(int userid, object additions);

        [OperationContract]
        void UpdateUserData(UserData data);

        [OperationContract]
        void DeleteUserAccount(int id);

        [OperationContract]
        int ValidateUserAccount(string username, string password, object additions);

        [OperationContract]
        void userRelationsRoutine(UserData userData);

        [OperationContract]
        DataTable myRatings(int userid);

        [OperationContract]
        DataTable friendRatings(int friendid, int myid);

        [OperationContract]
        DataTable GetTopGroupMovies(int userid, int nlimit);

        [OperationContract]
        List<string> getLog(int userid, int nlimit);

        [OperationContract]
        void log(int userid, string log);
    }
}
